home *** CD-ROM | disk | FTP | other *** search
- /* $VER: xPipe 1.0 (18-3-97) © Frédéric RODRIGUES freeware
- XPK type utility
-
- xPipe: depacks the current input on the current output (usefull to process
- files packed or unpacked as they were unpacked.
-
- LEGAL STUFF
- ~~~~~~~~~~~
- xPKE is declared freeware. This is intended for a learning use to
- encourage programming of XPK in E. Do whatever you want with the files
- but keep all files unchanged and together if you distribute it and
- mention my name on your creations if you use it. I would appreciate little
- donations for my work (who knows somebody will send me something - please,
- send me at least an email).
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- HOW TO REACH ME ?
- ~~~~~~~~~~~~~~~~~
- by email : rodrigue@iles.siera.ups-tlse.fr (IP 130.120.84.50)
- by mail : Frédéric RODRIGUES
- 4 allées Antonio Machado app 3009D
- 31100 Toulouse
- FRANCE
- */
-
- OPT OSVERSION=36
-
- MODULE 'xpk/xpk','xpkmaster','utility/tagitem'
-
- DEF xpkfib:PTR TO xpkfib,xpkerr[XPKERRMSGSIZE]:STRING,xpkbuf,nbytes
-
- PROC main()
- IF xpkbase:=OpenLibrary('xpkmaster.library',2)
- IF XpkOpen({xpkfib},[XPK_INFH,Input(),
- XPK_GETERROR,xpkerr,
- XPK_PASSTHRU,TRUE,
- TAG_DONE])=0
- IF (xpkbuf:=String(xpkfib.nlen))=NIL
- WriteF('cannot allocate memory\n')
- ELSE
- WHILE (nbytes:=XpkRead(xpkfib,xpkbuf,xpkfib.nlen))>0
- Write(Output(),xpkbuf,nbytes)
- ENDWHILE
- IF nbytes<0 THEN WriteF('\s\n',xpkerr)
- XpkClose(xpkfib)
- ENDIF
- ELSE
- WriteF('\s\n',xpkerr)
- ENDIF
- ELSE
- WriteF('cannot open library\n')
- ENDIF
- ENDPROC
-